package inseniarlingua.lang.en;

import java.util.LinkedHashMap;
import java.util.Map;

public class VerbsENFactory {
	Map<String, VerbEngDef> irregularVerbMap;

	public Map<String, VerbEngDef> getIrregularVerbMap() {
		if (irregularVerbMap == null) {
			irregularVerbMap = new LinkedHashMap<String, VerbEngDef>();
			irregularVerbMap.put("be", new VerbEngDef("be", "were", "been", "is", "being"));
			irregularVerbMap.put("become", new VerbEngDef("become", "became", "become",	"becomes", "becoming"));
			irregularVerbMap.put("begin", new VerbEngDef("begin", "began", "begun", "begins", "beginning"));
			irregularVerbMap.put("eat", new VerbEngDef("eat", "ate", "eaten", "eats", "eating"));
			irregularVerbMap.put("have", new VerbEngDef("have", "had", "had", "has", "having"));
			irregularVerbMap.put("say", new VerbEngDef("say", "said", "said", "says", "saying"));
			irregularVerbMap.put("sit", new VerbEngDef("sit", "sat", "sat", "sits", "sitting"));
			irregularVerbMap.put("speak", new VerbEngDef("speak", "spoke", "spoken", "speaks", "speaking"));
			irregularVerbMap.put("swim", new VerbEngDef("swim", "swam",	"swum", "swims", "swimming"));
			irregularVerbMap.put("come", new VerbEngDef("come",	"came",	"come",	"comes", "coming"));
			irregularVerbMap.put("go", new VerbEngDef("go",	"went", "gone", "goes", "going"));
			/*
			 * Speak	Spoke	Spoken	Speaks	Speaking
			 * Sit	Sat	Sat	Sits	Sitting
			 * Eat	Ate	Eaten	Eats	Eating
			 * Abide	Abode/Abided	Abode/Abided/Abidden	Abides	Abiding
irregularVerbMap.put(", new VerbEN("Alight	Alit/Alighted	Alit/Alighted	Alights	Alighting
irregularVerbMap.put(", new VerbEN("Arise	Arose	Arisen	Arises	Arising
irregularVerbMap.put(", new VerbEN("Awake	Awoke	Awoken	Awakes	Awaking
irregularVerbMap.put(", new VerbEN("Be	Was/Were	Been	Is	Being
irregularVerbMap.put(", new VerbEN("Bear	Bore	Born/Borne	Bears	Bearing
irregularVerbMap.put(", new VerbEN("Beat	Beat	Beaten	Beats	Beating
irregularVerbMap.put(", new VerbEN("Behold	Beheld	Beheld	Beholds	Beholding
irregularVerbMap.put(", new VerbEN("Bend	Bent	Bent	Bends	Bending
irregularVerbMap.put(", new VerbEN("Bet	Bet	Bet	Bets	Betting
irregularVerbMap.put(", new VerbEN("Bid	Bade	Bidden	Bids	Bidding
irregularVerbMap.put(", new VerbEN("Bid	Bid	Bid	Bids	Bidding
irregularVerbMap.put(", new VerbEN("Bind	Bound	Bound	Binds	Binding
irregularVerbMap.put(", new VerbEN("Bite	Bit	Bitten	Bites	Biting
irregularVerbMap.put(", new VerbEN("Bleed	Bled	Bled	Bleeds	Bleeding
irregularVerbMap.put(", new VerbEN("Blow	Blew	Blown	Blows	Blowing
irregularVerbMap.put(", new VerbEN("Break	Broke	Broken	Breaks	Breaking
irregularVerbMap.put(", new VerbEN("Breed	Bred	Bred	Breeds	Breeding
irregularVerbMap.put(", new VerbEN("Bring	Brought	Brought	Brings	Bringing
irregularVerbMap.put(", new VerbEN("Broadcast	Broadcast/Broadcasted	Broadcast/Broadcasted	Broadcasts	Broadcasting
irregularVerbMap.put(", new VerbEN("Build	Built	Built	Builds	Building
irregularVerbMap.put(", new VerbEN("Burn	Burnt/Burned	Burnt/Burned	Burns	Burning
irregularVerbMap.put(", new VerbEN("Burst	Burst	Burst	Bursts	Bursting
irregularVerbMap.put(", new VerbEN("Bust	Bust	Bust	Busts	Busting
irregularVerbMap.put(", new VerbEN("Buy	Bought	Bought	Buys	Buying
irregularVerbMap.put(", new VerbEN("Cast	Cast	Cast	Casts	Casting
irregularVerbMap.put(", new VerbEN("Catch	Caught	Caught	Catches	Catching
irregularVerbMap.put(", new VerbEN("Choose	Chose	Chosen	Chooses	Choosing
irregularVerbMap.put(", new VerbEN("Clap	Clapped/Clapt	Clapped/Clapt	Claps	Clapping
irregularVerbMap.put(", new VerbEN("Cling	Clung	Clung	Clings	Clinging
irregularVerbMap.put(", new VerbEN("Clothe	Clad/Clothed	Clad/Clothed	Clothes	Clothing
irregularVerbMap.put(", new VerbEN("Cost	Cost	Cost	Costs	Costing
irregularVerbMap.put(", new VerbEN("Creep	Crept	Crept	Creeps	Creeping
irregularVerbMap.put(", new VerbEN("Cut	Cut	Cut	Cuts	Cutting
irregularVerbMap.put(", new VerbEN("Dare	Dared/Durst	Dared	Dares	Daring
irregularVerbMap.put(", new VerbEN("Deal	Dealt	Dealt	Deals	Dealing
irregularVerbMap.put(", new VerbEN("Dig	Dug	Dug	Digs	Digging
irregularVerbMap.put(", new VerbEN("Dive	Dived/Dove	Dived	Dives	Diving
irregularVerbMap.put(", new VerbEN("Do	Did	Done	Does	Doing
irregularVerbMap.put(", new VerbEN("Draw	Drew	Drawn	Draws	Drawing
irregularVerbMap.put(", new VerbEN("Dream	Dreamt/Dreamed	Dreamt/Dreamed	Dreams	Dreaming
irregularVerbMap.put(", new VerbEN("Drink	Drank	Drunk	Drinks	Drinking
irregularVerbMap.put(", new VerbEN("Drive	Drove	Driven	Drives	Driving
irregularVerbMap.put(", new VerbEN("Dwell	Dwelt	Dwelt	Dwells	Dwelling
irregularVerbMap.put(", new VerbEN("Eat	Ate	Eaten	Eats	Eating
irregularVerbMap.put(", new VerbEN("Fall	Fell	Fallen	Falls	Falling
irregularVerbMap.put(", new VerbEN("Feed	Fed	Fed	Feeds	Feeding
irregularVerbMap.put(", new VerbEN("Feel	Felt	Felt	Feels	Feeling
irregularVerbMap.put(", new VerbEN("Fight	Fought	Fought	Fights	Fighting
irregularVerbMap.put(", new VerbEN("Find	Found	Found	Finds	Finding
irregularVerbMap.put(", new VerbEN("Fit	Fit/Fitted	Fit/Fitted	Fits	Fitting
irregularVerbMap.put(", new VerbEN("Flee	Fled	Fled	Flees	Fleeing
irregularVerbMap.put(", new VerbEN("Fling	Flung	Flung	Flings	Flinging
irregularVerbMap.put(", new VerbEN("Fly	Flew	Flown	Flies	Flying
irregularVerbMap.put(", new VerbEN("Forbid	Forbade/Forbad	Forbidden	Forbids	Forbidding
irregularVerbMap.put(", new VerbEN("Forecast	Forecast/Forecasted	Forecast/Forecasted	Forecasts	Forecasting
irregularVerbMap.put(", new VerbEN("Foresee	Foresaw	Foreseen	Foresees	Foreseeing
irregularVerbMap.put(", new VerbEN("Foretell	Foretold	Foretold	Foretells	Foretelling
irregularVerbMap.put(", new VerbEN("Forget	Forgot	Forgotten	Forgets	Foregetting
irregularVerbMap.put(", new VerbEN("Forgive	Forgave	Forgiven	Forgives	Forgiving
irregularVerbMap.put(", new VerbEN("Forsake	Forsook	Forsaken	Forsakes	Forsaking
irregularVerbMap.put(", new VerbEN("Freeze	Froze	Frozen	Freezes	Freezing
irregularVerbMap.put(", new VerbEN("Frostbite	Frostbit	Frostbitten	Frostbites	Frostbiting
irregularVerbMap.put(", new VerbEN("Get	Got	Got/Gotten	Gets	Getting
irregularVerbMap.put(", new VerbEN("Give	Gave	Given	Gives	Giving
irregularVerbMap.put(", new VerbEN("Grind	Ground	Ground	Grinds	Grinding
irregularVerbMap.put(", new VerbEN("Grow	Grew	Grown	Grows	Growing
irregularVerbMap.put(", new VerbEN("Handwrite	Handwrote	Handwritten	Handwrites	Handwriting
irregularVerbMap.put(", new VerbEN("Hang	Hung/Hanged	Hung/Hanged	Hangs	Hanging
irregularVerbMap.put(", new VerbEN("Have	Had	Had	Has	Having
irregularVerbMap.put(", new VerbEN("Hear	Heard	Heard	Hears	Hearing
irregularVerbMap.put(", new VerbEN("Hide	Hid	Hidden	Hides	Hiding
irregularVerbMap.put(", new VerbEN("Hit	Hit	Hit	Hits	Hitting
irregularVerbMap.put(", new VerbEN("Hold	Held	Held	Holds	Holding
irregularVerbMap.put(", new VerbEN("Hurt	Hurt	Hurt	Hurts	Hurting
irregularVerbMap.put(", new VerbEN("Inlay	Inlaid	Inlaid	Inlays	Inlaying
irregularVerbMap.put(", new VerbEN("Input	Input/Inputted	Input/Inputted	Inputs	Inputting
irregularVerbMap.put(", new VerbEN("Interlay	Interlaid	Interlaid	Interlays	Interlaying
irregularVerbMap.put(", new VerbEN("Keep	Kept	Kept	Keeps	Keeping
irregularVerbMap.put(", new VerbEN("Kneel	Knelt/Kneeled	Knelt/Kneeled	Kneels	Kneeling
irregularVerbMap.put(", new VerbEN("Knit	Knit/Knitted	Knit/Knitted	Knits	Knitting
irregularVerbMap.put(", new VerbEN("Know	Knew	Known	Knows	Knowing
irregularVerbMap.put(", new VerbEN("Lay	Laid	Laid	Lays	laying
irregularVerbMap.put(", new VerbEN("Lead	Led	Led	Leads	Leading
irregularVerbMap.put(", new VerbEN("Lean	Leant/Leaned	Leant/Leaned	Leans	Leaning
irregularVerbMap.put(", new VerbEN("Leap	Leapt/Leaped	Leapt/Leaped	Leaps	Leaping
irregularVerbMap.put(", new VerbEN("Learn	Learnt/Learned	Learnt/Learned	Learns	Learning
irregularVerbMap.put(", new VerbEN("Leave	Left	Left	Leaves	Leaving
irregularVerbMap.put(", new VerbEN("Lend	Lent	Lent	Lends	Lending
irregularVerbMap.put(", new VerbEN("Let	Let	Let	Lets	Letting
irregularVerbMap.put(", new VerbEN("Lie	Lay	Lain	Lies	Lying
irregularVerbMap.put(", new VerbEN("Light	Lit	Lit	Lights	Lighting
irregularVerbMap.put(", new VerbEN("Lose	Lost	Lost	Loses	Losing
irregularVerbMap.put(", new VerbEN("Make	Made	Made	Makes	Making
irregularVerbMap.put(", new VerbEN("Mean	Meant	Meant	Means	Meaning
irregularVerbMap.put(", new VerbEN("Meet	Met	Met	Meets	Meeting
irregularVerbMap.put(", new VerbEN("Melt	Melted	Molten/Melted	Melts	Melting
irregularVerbMap.put(", new VerbEN("Mislead	Misled	Misled	Misleads	Misleading
irregularVerbMap.put(", new VerbEN("Mistake	Mistook	Mistaken	Mistakes	Mistaking
irregularVerbMap.put(", new VerbEN("Misunderstand	Misunderstood	Misunderstood	Misunderstands	Misunderstanding
irregularVerbMap.put(", new VerbEN("Miswed	Miswed/Miswedded	Miswed/Miswedded	Misweds	Miswedding
irregularVerbMap.put(", new VerbEN("Mow	Mowed	Mown	Mows	Mowing
irregularVerbMap.put(", new VerbEN("Overdraw	Overdrew	Overdrawn	Overdraws	Overdrawing
irregularVerbMap.put(", new VerbEN("Overhear	Overheard	Overheard	Overhears	Overhearing
irregularVerbMap.put(", new VerbEN("Overtake	Overtook	Overtaken	Overtakes	Overtaking
irregularVerbMap.put(", new VerbEN("Pay	Paid	Paid	Pays	Paying
irregularVerbMap.put(", new VerbEN("Preset	Preset	Preset	Presets	Presetting
irregularVerbMap.put(", new VerbEN("Prove	Proved	Proven/Proved	Proves	Proving
irregularVerbMap.put(", new VerbEN("Put	Put	Put	Puts	Putting
irregularVerbMap.put(", new VerbEN("Quit	Quit	Quit	Quits	Quitting
irregularVerbMap.put(", new VerbEN("Re-prove	Re-proved	Re-proven/Re-proved	Re-proves	Re-proving
irregularVerbMap.put(", new VerbEN("Read	Read	Read	Reads	Reading
irregularVerbMap.put(", new VerbEN("Rid	Rid/Ridded	Rid/Ridded	Rids	Ridding
irregularVerbMap.put(", new VerbEN("Ride	Rode	Ridden	Rides	Riding
irregularVerbMap.put(", new VerbEN("Ring	Rang	Rung	Rings	Ringing
irregularVerbMap.put(", new VerbEN("Rise	Rose	Risen	Rises	Rising
irregularVerbMap.put(", new VerbEN("Rive	Rived	Riven/Rived	Rives	Riving
irregularVerbMap.put(", new VerbEN("Run	Ran	Run	Runs	Running
irregularVerbMap.put(", new VerbEN("Saw	Sawed	Sawn/Sawed	Saws	Sawing
irregularVerbMap.put(", new VerbEN("See	Saw	Seen	Sees	Seeing
irregularVerbMap.put(", new VerbEN("Seek	Sought	Sought	Seeks	Seeking
irregularVerbMap.put(", new VerbEN("Sell	Sold	Sold	Sells	Selling
*/
			irregularVerbMap.put("send", new VerbEngDef("send", "sent", "sent", "sends", "sending"));
/*
irregularVerbMap.put(", new VerbEN("Set	Set	Set	Sets	Setting
irregularVerbMap.put(", new VerbEN("Sew	Sewed	Sewn/Sewed	Sews	Sewing
irregularVerbMap.put(", new VerbEN("Shake	Shook	Shaken	Shakes	Shaking
irregularVerbMap.put(", new VerbEN("Shave	Shaved	Shaven/Shaved	Shaves	Shaving
irregularVerbMap.put(", new VerbEN("Shear	Shore/Sheared	Shorn/Sheared	Shears	Shearing
irregularVerbMap.put(", new VerbEN("Shed	Shed	Shed	Sheds	Shedding
irregularVerbMap.put(", new VerbEN("Shine	Shone	Shone	Shines	Shining
irregularVerbMap.put(", new VerbEN("Shoe	Shod	Shod	Shoes	Shoeing
irregularVerbMap.put(", new VerbEN("Shoot	Shot	Shot	Shoots	Shooting
irregularVerbMap.put(", new VerbEN("Show	Showed	Shown	Shows	Showing
irregularVerbMap.put(", new VerbEN("Shrink	Shrank	Shrunk	Shrinks	Shrinking
irregularVerbMap.put(", new VerbEN("Shut	Shut	Shut	Shuts	Shutting
*/
			irregularVerbMap.put("sing", new VerbEngDef("sing", "sang", "sung", "sings", "singing"));
/*
irregularVerbMap.put(", new VerbEN("sink	sank	sunk	sinks	sinking
irregularVerbMap.put(", new VerbEN("Sit	Sat	Sat	Sits	Sitting
irregularVerbMap.put(", new VerbEN("Slay	Slew	Slain	Slays	Slaying
irregularVerbMap.put(", new VerbEN("Sleep	Slept	Slept	Sleeps	Sleeping
irregularVerbMap.put(", new VerbEN("Slide	Slid	Slid/Slidden	Slides	Sliding
irregularVerbMap.put(", new VerbEN("Sling	Slung	Slung	Slings	Slinging
irregularVerbMap.put(", new VerbEN("Slink	Slunk	Slunk	Slinks	Slinking
irregularVerbMap.put(", new VerbEN("Slit	Slit	Slit	Slits	Slitting
irregularVerbMap.put(", new VerbEN("Smell	Smelt/Smelled	Smelt/Smelled	Smells	Smelling
irregularVerbMap.put(", new VerbEN("Sneak	Sneaked/Snuck	Sneaked/Snuck	Sneaks	Sneaking
irregularVerbMap.put(", new VerbEN("Soothsay	Soothsaid	Soothsaid	Soothsays	Soothsaying
irregularVerbMap.put(", new VerbEN("Sow	Sowed	Sown	Sows	Sowing
irregularVerbMap.put(", new VerbEN("Speak	Spoke	Spoken	Speaks	Speaking
irregularVerbMap.put(", new VerbEN("Speed	Sped/Speeded	Sped/Speeded	Speeds	Speeding
irregularVerbMap.put(", new VerbEN("Spell	Spelt/Spelled	Spelt/Spelled	Spells	Spelling
irregularVerbMap.put(", new VerbEN("Spend	Spent	Spent	Spends	Spending
irregularVerbMap.put(", new VerbEN("Spill	Spilt/Spilled	Spilt/Spilled	Spills	Spilling
irregularVerbMap.put(", new VerbEN("Spin	Span/Spun	Spun	Spins	Spinning
irregularVerbMap.put(", new VerbEN("Spit	Spat/Spit	Spat/Spit	Spits	Spitting
irregularVerbMap.put(", new VerbEN("Split	Split	Split	Splits	Splitting
irregularVerbMap.put(", new VerbEN("Spoil	Spoilt/Spoiled	Spoilt/Spoiled	Spoils	Spoiling
irregularVerbMap.put(", new VerbEN("Spread	Spread	Spread	Spreads	Spreading
irregularVerbMap.put(", new VerbEN("Spring	Sprang	Sprung	Springs	Springing
irregularVerbMap.put(", new VerbEN("Stand	Stood	Stood	Stands	Standing
irregularVerbMap.put(", new VerbEN("Steal	Stole	Stolen	Steals	Stealing
irregularVerbMap.put(", new VerbEN("Stick	Stuck	Stuck	Sticks	Sticking
irregularVerbMap.put(", new VerbEN("Sting	Stung	Stung	Stings	Stinging
irregularVerbMap.put(", new VerbEN("Stink	Stank	Stunk	Stinks	Stinking
irregularVerbMap.put(", new VerbEN("Stride	Strode/Strided	Stridden	Strides	Striding
irregularVerbMap.put(", new VerbEN("Strike	Struck	Struck/Stricken	Strikes	Striking
irregularVerbMap.put(", new VerbEN("String	Strung	Strung	Strings	Stringing
irregularVerbMap.put(", new VerbEN("Strip	Stript/Stripped	Stript/Stripped	Strips	Stripping
irregularVerbMap.put(", new VerbEN("Strive	Strove	Striven	Strives	Striving
irregularVerbMap.put(", new VerbEN("Sublet	Sublet	Sublet	Sublets	Subletting
irregularVerbMap.put(", new VerbEN("Sunburn	Sunburned/Sunburnt	Sunburned/Sunburnt	Sunburns	Sunburning
irregularVerbMap.put(", new VerbEN("Swear	Swore	Sworn	Swears	Swearing
irregularVerbMap.put(", new VerbEN("Sweat	Sweat/Sweated	Sweat/Sweated	Sweats	Sweating
irregularVerbMap.put(", new VerbEN("Sweep	Swept/Sweeped	Swept/Sweeped	Sweeps	Sweeping
irregularVerbMap.put(", new VerbEN("Swell	Swelled	Swollen	Swells	Swelling
irregularVerbMap.put(", new VerbEN("Swim	Swam	Swum	Swims	Swimming
irregularVerbMap.put(", new VerbEN("Swing	Swung	Swung	Swings	Swinging
irregularVerbMap.put(", new VerbEN("Take	Took	Taken	Takes	Taking
irregularVerbMap.put(", new VerbEN("Teach	Taught	Taught	Teaches	Teaching
irregularVerbMap.put(", new VerbEN("Tear	Tore	Torn	Tears	Tearing
irregularVerbMap.put(", new VerbEN("Tell	Told	Told	Tells	Telling
irregularVerbMap.put(", new VerbEN("Think	Thought	Thought	Thinks	Thinking
irregularVerbMap.put(", new VerbEN("Thrive	Throve/Thrived	Thriven/Thrived	Thrives	Thriving
irregularVerbMap.put(", new VerbEN("Throw	Threw	Thrown	Throws	Throwing
irregularVerbMap.put(", new VerbEN("Thrust	Thrust	Thrust	Thrusts	Thrusting
irregularVerbMap.put(", new VerbEN("Tread	Trod	Trodden	Treads	Treading
irregularVerbMap.put(", new VerbEN("Undergo	Underwent	Undergone	Undergoes	Undergoing
irregularVerbMap.put(", new VerbEN("Understand	Understood	Understood	Understands	Understanding
irregularVerbMap.put(", new VerbEN("Undertake	Undertook	Undertaken	Undertakes	Undertaking
irregularVerbMap.put(", new VerbEN("Upset	Upset	Upset	Upsets	Upsetting
irregularVerbMap.put(", new VerbEN("Vex	Vext/Vexed	Vext/Vexed	Vexes	Vexing
irregularVerbMap.put(", new VerbEN("Wake	Woke	Woken	Wakes	Waking
irregularVerbMap.put(", new VerbEN("Wear	Wore	Worn	Wears	Wearing
irregularVerbMap.put(", new VerbEN("Weave	Wove	Woven	Weaves	Weaving
irregularVerbMap.put(", new VerbEN("Wed	Wed/Wedded	Wed/Wedded	Weds	Wedding
irregularVerbMap.put(", new VerbEN("Weep	Wept	Wept	Weeps	Weeping
irregularVerbMap.put(", new VerbEN("Wend	Wended/Went	Wended/Went	Wends	Wending
irregularVerbMap.put(", new VerbEN("Wet	Wet/Wetted	Wet/Wetted	Wets	Wetting
irregularVerbMap.put(", new VerbEN("Win	Won	Won	Wins	Winning
irregularVerbMap.put(", new VerbEN("Wind	Wound	Wound	Winds	Winding
irregularVerbMap.put(", new VerbEN("Withdraw	Withdrew	Withdrawn	Withdraws	Withdrawing
irregularVerbMap.put(", new VerbEN("Withhold	Withheld	Withheld	Withholds	Withholding
irregularVerbMap.put(", new VerbEN("Withstand	Withstood	Withstood	Withstands	Withstanding
irregularVerbMap.put(", new VerbEN("Wring	Wrung	Wrung	Wrings	Wringing
*/
irregularVerbMap.put("write", new VerbEngDef("write", "wrote", 	"written", "writes", "writing"));
/*
irregularVerbMap.put(", new VerbEN("Zinc	Zinced/Zincked	Zinced/Zincked	Zincs	Zincking
			 */
		}
		return irregularVerbMap;
	}
	
	public VerbEngDef getVerb(String verb) {
		VerbEngDef ret = getIrregularVerbMap().get(verb);
		if (ret == null) {
			ret = new VerbEngDef(verb);
		}
		return ret;
	}
}
